/*
 * 百度在线网络技术（北京）有限公司拥有本软件版权2021并保留所有权利。
 * Copyright 2021, Baidu.com,Inc 2:Baidu Online Network Technology (Beijing) Co.,Ltd,
 * All rights reserved.
 */

package com.azdebugit.singleton.exaple.maintest;

/**
 * <p>最优单例模式初始化操作<p>
 * <p>单例模式使用内部类来维护单例的实现，JVM内部的机制能够保证当一个类被加载的时候，这个类的加载过程是线程互斥的。这样当我们第一次调用getInstance的时候，JVM能够帮我们保证instance只被创建一次，并且会保证把赋值给instance的内存初始化完毕。<p>
 * <p>Title: SingletonInternal<p>
 * <p>Descriptions:<p>
 *
 * @author Caiyongji
 * @date Feb 7, 2014
 */
public class SingletonInternal {
    private static class SingletonInter {
        private final static SingletonInternal INTERNAL = new SingletonInternal();
    }

    private SingletonInternal() {
    }

    public static SingletonInternal getInstance() {
        return SingletonInter.INTERNAL;
    }

    private void doIt() {
        System.out.println("SingletonInternal.doIt()");
    }


    //main 方法
    public static void main(String[] args) {
        SingletonInternal.getInstance().doIt();
    }
}